For messaging and/or Voice over Internet Protocol (VoIP) applications, a server sends a rich set of notifications to mobile devices or clients. Certain conventional techniques use a single communication channel to send notifications from the server to the client. A communication channel refers a logical connection for sending and receiving data over a multiplexed medium. This one channel is used to deliver all notifications without prioritizing notifications based on their types. The type of the notification or message is used to define the function of the notification or message being sent. This leads to a variety of inefficiencies for data usage, data traffic, battery life, and server resources. For example, some notifications can be unnecessary to user when the application (e.g., any program or group of programs operating on a computing device designed for the end user) is operating in background, e.g., notifications that tell whether a user is typing text or not. In contrast, other notifications are important even if the application is running in background, for example, a new chat message arrives. Because messages for different applications all use the same channel, any one application could be consuming more data and battery than necessary. Moreover, while the devices are processing unimportant or unnecessary notifications, important notifications may be lost or delayed in their processing.